package com.sztz.enums;

import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;

import java.util.Arrays;
import java.util.Optional;
import java.util.stream.Stream;

/**
 * 所属客户枚举类
 * @author yzy
 * @date 2022/4/7 16:21
 */
@Getter
@AllArgsConstructor
public enum CustomerBelongEnum {
    /**
     * 平台所属企业
     */
    PLATFORM_COM(0,"平台"),
    /**
     * 金二所属企业
     */
    JING2_COM(1,"金二"),
    /**
     * 内部企业
     */
    INNER_COM(2,"内部"),
    /**
     * 测试公司
     */
    TEST_COM(3,"测试"),
    /**
     * 南方导流
     */
    SINGLE_WIN_COM(4,"南方导流"),
    /**
     * 未知类型
     */
    UNKNOW_COM(10,"未知类型");
    /**
     * 所属客户代码
     */
    private int code;
    /**
     *  所属客户名称
     */
    private String name;

    /**
     * 跟据名称获取枚举
     * @param name
     * @return
     */
    public static CustomerBelongEnum getEnumByName(String name){
        CustomerBelongEnum[] values = values();
        Optional<CustomerBelongEnum> first = Stream.of(values).filter(item -> StrUtil.equalsAnyIgnoreCase(item.getName(), name)).findFirst();
        return first.isPresent()?first.get():null;
    }
}
